MAXIMISESUM Maximise Sum - CodeChef Solution


Sorting Math

Python Code:

for _ in range(int(input())):
    n = int(input())
    arr = list(map(int, input().split()))
    
    l = [0] * n
    r = [0] * n
    
    l[0] = arr[0]
    r[-1] = arr[-1]
    for i in range(1, n):
        l[i] = max(l[i - 1], arr[i])
        r[n - i - 1] = max(r[n - i], arr[n - i - 1])
    
    s = 0
    for i in range(n):
        s += min(l[i], r[i])
    print(s)


Comments

Submit
0 Comments
More Questions

981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins
313A - Ilya and Bank Account
1469A - Regular Bracket Sequence
919C - Seat Arrangements
1634A - Reverse and Concatenate
1619C - Wrong Addition